<%--
  Created by IntelliJ IDEA.
  User: littleken
  Date: 2020/2/28
  Time: 22:57
  To change this template use File | Settings | File Templates.
--%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML>
<html>
<head>
    <base href="<%=basePath%>">
    <meta charset="utf-8">
    <meta name="renderer" content="webkit|ie-comp|ie-stand">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
    <meta http-equiv="Cache-Control" content="no-siteapp" />
    <link rel="Bookmark" href="/favicon.ico" >
    <link rel="Shortcut Icon" href="/favicon.ico" />
    <!--[if lt IE 9]>
    <script type="text/javascript" src="lib/html5shiv.js"></script>
    <script type="text/javascript" src="lib/respond.min.js"></script>
    <![endif]-->
    <link rel="stylesheet" type="text/css" href="static/h-ui/css/H-ui.min.css" />
    <link rel="stylesheet" type="text/css" href="static/h-ui.admin/css/H-ui.admin.css" />
    <link rel="stylesheet" type="text/css" href="lib/Hui-iconfont/1.0.8/iconfont.css" />
    <link rel="stylesheet" type="text/css" href="static/h-ui.admin/skin/default/skin.css" id="skin" />
    <link rel="stylesheet" type="text/css" href="static/h-ui.admin/css/style.css" />
    <link rel="stylesheet" type="text/css" href="lib/bootstrap/css/bootstrap.min.css" />
    <link rel="stylesheet" type="text/css" href="lib/bootstarp-table/bootstrap-table.min.css" />
    <!--[if IE 6]>
    <script type="text/javascript" src="lib/DD_belatedPNG_0.0.8a-min.js" ></script>
    <script>DD_belatedPNG.fix('*');</script>
    <![endif]-->
    <title>管理员列表</title>
</head>
<body>
<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页 <span class="c-gray en">&gt;</span> 管理员管理
    <span class="c-gray en">&gt;
	</span> 管理员列表
</nav>

<div class="page-container">
	<span id="toolbar" class="l">
		<a href="javascript:;" onclick="admin_batch_del()" class="btn btn-danger radius"><i class="Hui-iconfont">&#xe6e2;</i> 批量删除</a>
		<a href="javascript:;" onclick="admin_add()" class="btn btn-primary radius"><i class="Hui-iconfont">&#xe600;</i> 添加管理员</a>
	</span>

    <!-- 用于展示数据的table -->
    <table id="dataTable"></table>


</div>
<!--_footer 作为公共模版分离出去-->
<!-- h-ui 后面的 jqery 对于 bootstar-table版本默认过低 ，引入高一点的 版本 -->
<script type="text/javascript" src="lib/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript" src="lib/layer/2.4/layer.js"></script>
<script type="text/javascript" src="static/h-ui/js/H-ui.min.js"></script>
<script type="text/javascript" src="static/h-ui.admin/js/H-ui.admin.js"></script> <!--/_footer 作为公共模版分离出去-->
<script type="text/javascript" src="lib/bootstarp-table/bootstrap-table.min.js"></script>
<script type="text/javascript" src="lib/bootstarp-table/bootstrap-table-zh-CN.min.js"></script>

<!--请在下方写此页面业务相关的脚本-->
<script type="text/javascript" src="lib/My97DatePicker/4.8/WdatePicker.js"></script>
<script type="text/javascript" src="lib/datatables/1.10.0/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="lib/laypage/1.2/laypage.js"></script>
<script type="text/javascript">


    $(function(){
        /*ajax请求用户数据，用table展示*/
        $('#dataTable').bootstrapTable({
            url: 'admin/list.do',//ajax请求的url地址
            /*后台返回出来的两个参数分别为list和total，进行再次包装*/
            responseHandler: function(res) {
                var data =  {rows: res.list,total: res.total};
                return data;
            },
            /*查询参数组装*/
            queryParams:function(params) {
                /*
                   自己组装后台查询需要的3个参数  pageNum pageSize keyword
                */
                var paramsData = {"keyword":params.search,
                    "pageSize": params.limit,
                    /*完成偏移量和页数的转换*/
                    "pageNum": params.offset/params.limit +1
                }
                console.log(paramsData);
                return paramsData;
            },
            pagination: true,//显示分页
            toolbar: "#toolbar",//顶部显示的工具条（添加和批量删除的）
            contentType: 'application/x-www-form-urlencoded',//条件搜索的时候ajax请求给后台数据的数据类型（条件搜索post提交必须设置）
            search: true,//是否显示搜索框
            pageNumber: 1,//默认的页面 第一页
            pageSize: 10,//默认的每页条数
            pageList:[10,15,25,50,100],//每页能显示的条数
            sidePagination: "server",//是否是服务器分页，每次请求都是对应的10条数据，下一页发送ajax请求
            paginationHAlign: 'right', //底部分页条
            showRefresh: true, //是否显示刷新按钮
            columns: [ //表格显示数据对应的表头设置，
                { checkbox: true},//是否显示前台的复选框（多选）
                /*
                    每列数据的表头的设置
                    filed:返回json数据对应数据的key
                    title:表头
                */
                {field: 'userId',title: '编号'},
                {field: 'username',title: '账号'},
                {field: 'realname',title: '真实名称'},
                {field: 'createDate',title: '入职日期'},
                {field: 'rolename',title: '角色'},
                /*{field: 'roleId',title: '角色'},*/

                /*加一行操作*/
                {
                    field:'userId',
                    title:'操作',
                    align:'center',
                    /*生成里面的按钮*/
                    formatter:deletectrl
                }]

        })



    })


    /*
     * bootstarp 的格式化函数
         value: the field value. 当前行field的值
         row: the row record data. 当前这一行记录数据
         index: the row index. 索引 0 开始
         field: the row field. 当前field的名称： userId

         此函数可以直接返回html字符串，bootstarp会自动解析
     */
/*
* value 其实就是userid
*
*
* */
    function deletectrl(value,row,index,field){
        /*手动拼装操作栏中的html*/
        var html ="<span onclick='admin_del("+value+")' style='color:red;cursor: pointer;' class='glyphicon glyphicon-trash'></span>" +
            "&nbsp;&nbsp;";
        html+="<span onclick='admin_edit("+value+")' style='color:green;cursor: pointer;' class='glyphicon glyphicon-pencil'></span>";

        return html;

    }


    /*
     * 批量删除数据
     *删除思路
         1，获取bootstrap-table 复选框选中数据，并获取对应的id
         2，将id拼接成字符串传递后台 ： 1,2,5,8
         3，后台切割 字符串获取单个id，并执行删除操作
     *
     */
    function admin_batch_del(){

        var users = $('#dataTable').bootstrapTable('getSelections');

        if(users.length == 0){
            layer.msg("最少删除选择一条删除的数据!", {icon: 0});
            return false;
        }

        //声明一个数组，用户封装获取 每一行的选择的userId值

        var userIds = [];
        for(var i = 0;i<users.length;i++){

            //获取每一行数据
            var user = users[i];

            //将user的id添加的数组
            userIds.push(user.userId);

        }

        //弹出提示删除框架，确认删除
        layer.confirm('您确定删除选中的数据么?', {icon: 3}, function(index){

            //发送ajax请求删除数据
            $.get("admin/batchDelete.do?userIds="+userIds.toString(),function(data){

                //提示
                layer.msg(data.msg, {icon: data.ret});

                //如果删除成功就刷新下bootstrap表格
                if(data.ret == true){
                    //刷新页面
                    console.log("ajax删除成功")
                    //refreshTable();
                }

            });

        });

    }


    /*
     * 删除用户
     */
    function admin_del(userId){

        layer.confirm('您确定删除此条数据么testtest?', {icon: 3}, function(index){

            //点了确认就发ajax进行删除，带上userid
            $.get("admin/delete.do?userId="+userId,function(data){
                console.log(data)
                //提示
                //这个必须要写，不然会一直卡在提示删除页面
                layer.msg(data.msg, {icon: data.ret});
                //如果删除成功就刷新下bootstrap表格
                if(data.ret == true){
                    //刷新页面
                    console.log("ajax删除成功222")
                    refreshTable();
                }else {
                    console.log(data.msg)
                }

            });

        });
    }


    //刷新页面（用于删除后，修改后）
    function refreshTable(){
        $('#dataTable').bootstrapTable('refresh');
    }



    /*
        参数解释：
        title	标题
        url		请求的url
        id		需要操作的数据id
        w		弹出层宽度（缺省调默认值）
        h		弹出层高度（缺省调默认值）
    */
    /*请求新增页面（模态框）*/
    function admin_add(){

        layer.open({
            type: 2,
            title: '新增管理员',
            maxmin : true,
            area: ['800px', '400px'],
            content: 'admin/adminEdit.do'
        });

    }
    /*修改用户*/
    function admin_edit(userId){

        layer.open({
            type: 2,
            title: '修改用户',
            maxmin : true,//这个不知道干嘛的
            area: ['800px', '400px'],
            content: 'admin/adminEdit.do?userId='+userId
        });
    }
    /*/!*管理员-停用*!/
    function admin_stop(obj,id){
        layer.confirm('确认要停用吗？',function(index){
            //此处请求后台程序，下方是成功后的前台处理……

            $(obj).parents("tr").find(".td-manage").prepend('<a onClick="admin_start(this,id)" href="javascript:;" title="启用" style="text-decoration:none"><i class="Hui-iconfont">&#xe615;</i></a>');
            $(obj).parents("tr").find(".td-status").html('<span class="label label-default radius">已禁用</span>');
            $(obj).remove();
            layer.msg('已停用!',{icon: 5,time:1000});
        });
    }

    /!*管理员-启用*!/
    function admin_start(obj,id){
        layer.confirm('确认要启用吗？',function(index){
            //此处请求后台程序，下方是成功后的前台处理……


            $(obj).parents("tr").find(".td-manage").prepend('<a onClick="admin_stop(this,id)" href="javascript:;" title="停用" style="text-decoration:none"><i class="Hui-iconfont">&#xe631;</i></a>');
            $(obj).parents("tr").find(".td-status").html('<span class="label label-success radius">已启用</span>');
            $(obj).remove();
            layer.msg('已启用!', {icon: 6,time:1000});
        });
    }*/
</script>
</body>
</html>